1 //ðåäàêòèðîâàíî è èñïðàâëåíî 17.04.2006 Íèêîëàé Êîñèöèí
\r
2 //+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
\r
3 //| Heiken AshiR.mq4 |
\r
4 //| Copyright © 2004, Poul_Trade_Forum |
\r
6 //| http://forex.kbpauk.ru/ |
\r
7 //+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
\r
8 #property copyright "Poul Trade Forum"
\r
9 #property link "http://forex.kbpauk.ru/"
\r
10 //---- îòðèñîâêà èíäèêàòîðà â îòäåëüíîì îêíå
\r
11 #property indicator_separate_window
\r
12 //---- êîëè÷åñòâî èíäèêàòîðíûõ áóôôåðîâ
\r
13 #property indicator_buffers 2
\r
14 //---- öâåòà èíäèêàòîðà
\r
15 #property indicator_color1 Red
\r
16 #property indicator_color2 Lime
\r
17 //---- âåðõíåå è íèæíåå îãðàíè÷åíèå øêàëû îêíà èíäèêàòîðà
\r
18 #property indicator_maximum 1.1
\r
19 #property indicator_minimum 0.9
\r
20 //---- òîëùèíà èíäèêàòîðíûõ ëèíèé
\r
21 #property indicator_width1 2
\r
22 #property indicator_width2 2
\r
23 //---- ÂÕÎÄÍÛÅ ÏÀÐÀÌÅÒÐÛ ÈÍÄÈÊÀÒÎÐÀ
\r
24 extern int Simbol=110;
\r
25 //---- èíäèêàòîðíûå áóôôåðû
\r
26 double HighBuffer[];
\r
27 double LowBuffer [];
\r
28 //---- ïåðåìåííûå ñ ïëàâàþùåé òî÷êîé
\r
30 //+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
\r
31 //| Heiken AshiR initialization function |
\r
32 //+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
\r
35 //---- Ñòèëü èñïîëíåíèÿ ãðàôèêà âèäå ñèìâîëîâ
\r
36 SetIndexStyle(0,DRAW_ARROW);
\r
37 SetIndexStyle(1,DRAW_ARROW);
\r
38 //---- Îïðåäåëåíèå ñòèëÿ òî÷å÷íûõ îáúåêòîâ
\r
39 SetIndexArrow(0,Simbol);
\r
40 SetIndexArrow(1,Simbol);
\r
41 //---- 2 èíäèêàòîðíûõ áóôôåðà èñïîëüçîâàíû äëÿ ñ÷¸òà.
\r
42 SetIndexBuffer(0,HighBuffer);
\r
43 SetIndexBuffer(1,LowBuffer );
\r
44 //---- óñòàíîâêà çíà÷åíèé èíäèêàòîðà, êîòîðûå íå áóäóò âèäèìû íà ãðàôèêå
\r
45 SetIndexEmptyValue(0,0);
\r
46 SetIndexEmptyValue(1,0);
\r
47 //---- èìåíà äëÿ îêîí äàííûõ è ëýéáû äëÿ ñóáúîêîí.
\r
48 IndicatorShortName("Heiken Ashi");
\r
49 SetIndexLabel (0,"Heiken Ashi");
\r
50 SetIndexLabel (1,"Heiken Ashi");
\r
51 //---- óñòàíîâêà íîìåðà áàðà, íà÷èíàÿ ñ êîòîðîãî áóäåò îòðèñîâûâàòüñÿ èíäèêàòîð
\r
52 SetIndexDrawBegin(0,1);
\r
53 SetIndexDrawBegin(1,1);
\r
58 //+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
\r
59 //| Heiken AshiR iteration function |
\r
60 //+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
\r
63 //----+ Ââåäåíèå öåëûõ ïåðåìåííûõ è ïîëó÷åíèå óæå ïîäñ÷èòàííûõ áàðîâ
\r
64 //---- áëîêèðîâàíèå ïåðåñ÷¸òà âñåõ ïîäñ÷èòàííûõ è îòðèñîâàííûõ áàðîâ ïðè ïîäêëþ÷åíèè ê èíòåðíåòó
\r
65 int MaxBar,limit,counted_bars=INDICATOR_COUNTED(0); INDICATOR_COUNTED(1);
\r
66 //---- ïðîâåðêà íà âîçìîæíûå îøèáêè
\r
67 if (counted_bars<0){INDICATOR_COUNTED(-1);return(-1);}
\r
68 //---- ïîñëåäíèé ïîäñ÷èòàííûé áàð äîëæåí áûòü ïåðåñ÷èòàí
\r
69 if (counted_bars>0) counted_bars--;
\r
70 //---- îïðåäåëåíèå íîìåðà ñàìîãî ñòàðîãî áàðà, íà÷èíàÿ ñ êîòîðîãî áóäåò ïðîèçåä¸í ïåðåñ÷¸ò íîâûõ áàðîâ
\r
72 limit=(Bars-1-counted_bars);
\r
73 //---- èíèöèàëèçàöèÿ íóëÿ
\r
77 HighBuffer[Bars-1]=0;
\r
78 LowBuffer [Bars-1]=0;
\r
81 for (int bar=limit; bar>=0;bar--)
\r
83 Trend = iCustom(NULL,0,"Heiken Ashi#",1,bar)-iCustom(NULL,0,"Heiken Ashi#",0,bar);
\r
84 if (Trend>0){HighBuffer[bar]=1; LowBuffer [bar]=0;}
\r
85 if (Trend<0){LowBuffer [bar]=1; HighBuffer[bar]=0;}
\r
89 //+---------------------------------------------------------------------------------------------------------------------------+
\r
90 //----+ Ââåäåíèå ôóíêöèè INDICATOR_COUNTED (ôàéë INDICATOR_COUNTED.mqh ñëåäóåò ïîëîæèòü â ïàïêó (äèðåêòîðèþ): MetaTrader\experts\include)
\r
91 #include <INDICATOR_COUNTED.mqh>
\r
92 //+---------------------------------------------------------------------------------------------------------------------------+
\r